function createFunctionWithTimeout(callback, opt_timeout) { var called = false; function fn() { if (!called) { called = true; callback(); } } setTimeout(fn, opt_timeout || 0); return fn; } function get_bb_row_position(el) { bb_row = el.parents('.fl-row'); if(bb_row.length) return 'body_section' + (bb_row.index() + 1); else return "" } function hr__addTrackClickEvent(el) { if (el.length) { jQuery(el).on('click', function(linkEvent){ var obj = jQuery(this); var params = {}; if (!obj.attr('target')) { linkEvent.preventDefault(); } params.event_category = obj.data('event-category') ? obj.data('event-category') : ''; if (obj.data('event-subcategory')) params['Event Category 2'] = obj.data('event-subcategory'); if (obj.data('event-file-type')) params['Event File Type'] = obj.data('event-file-type'); if (obj.data('campaign')) params.event_action = obj.data('campaign'); if (obj.data('property-id')) params.send_to = obj.data('property-id'); if (obj.data('event-label')) params['event_label'] = obj.data('event-label'); params['Location URL'] = window.location.href.split(/[?#]/)[0]; params.event_callback = createFunctionWithTimeout(function (){ if (obj.attr('target') || obj.hasClass('fl-button-lightbox')) return; window.location.href = obj.attr('href'); }); // Params for link from body, header and footer if (obj.not('.hr__tracked_link').length) { params.event_category = obj.data('event-category') ? obj.data('event-category') : 'Default'; params['event_action'] = obj.data('event-action') ? obj.data('event-action') : obj.contents() .filter(function(){ return typeof this.innerText !== 'undefined' || this.nodeType === 3; }) .text() .trim(); params['event_label'] = obj.data('event-label') ? obj.data('event-label') : get_bb_row_position(obj); } if ( typeof window.dataLayer !== 'undefined') { params.event = 'click'; window.dataLayer.push(params); } }) } } jQuery(document).ready(function($) { hr__addTrackClickEvent('.fl-builder-content a:not(.bx-pager-link)'); hr__addTrackClickEvent('.hr__site-header .menu-item a'); hr__addTrackClickEvent('.hr__site-footer .menu-item a'); hr__addTrackClickEvent('.hr__top-bar a'); hr__addTrackClickEvent('.hr__site-header a.custom-logo-link'); })